/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Logica;

import Dato.DPermiso;
import Dato.DRol;
import java.sql.SQLException;
import javax.swing.ListModel;

/**
 *
 * @author Omar Heráclides
 */
public class LPermiso {

    public void InsertarPermisoxRol(String rolName, ListModel model) throws SQLException {
        String idPermiso;
        String idRol;
        idRol = ObtenerIdROL(rolName);
        for (int i = 0; i < model.getSize(); i++) {
            idPermiso = ObtenerIdPermiso(model.getElementAt(i).toString().trim());
            System.out.println("idRol=" + idRol + "-idPermiso=" + idPermiso + "-i=" + i);
            insertarRolxPermiso(idRol.trim(), idPermiso.trim());
        }

    }

    private String ObtenerIdROL(String rolName) throws SQLException {
        DRol objDRol = new DRol();
        return objDRol.ObtenerIDROLNAME(rolName);
    }

    private String ObtenerIdPermiso(String elementAt) throws SQLException {
        DPermiso objDpermiso = new DPermiso();
        System.out.println("Elemeno ventana=" + elementAt + "--");
        return objDpermiso.ObtenerPermiso(elementAt);
    }

    private void insertarRolxPermiso(String idRol, String idPermiso) throws SQLException {
        DPermiso objDpermiso = new DPermiso();
        objDpermiso.InsertRolxPermmiso(idRol, idPermiso);

    }

    public String ModificarRolxPermisos(String rolName, ListModel model) throws SQLException {
        String idPermiso;
        String idRol;
        idRol = ObtenerIdROL(rolName).trim();
        System.out.println("rol-"+idRol+"-");
        EliminarRolxPermisos(idRol);
        for (int i = 0; i < model.getSize(); i++) {
            idPermiso = ObtenerIdPermiso(model.getElementAt(i).toString().trim());
            System.out.println("idRol=" + idRol + "-idPermiso=" + idPermiso + "-i=" + i);
            modificarRolxPermiso(idRol, idPermiso.trim());
        }
        return "Se modifico los PERMISOS asignados al ROL";
    }

    private void modificarRolxPermiso(String idRol, String idPermiso) throws SQLException {
        DPermiso objDpermiso = new DPermiso();
        objDpermiso.ModificarRolxPermmiso(idRol, idPermiso);
    }

    private void EliminarRolxPermisos(String idRol) throws SQLException {
         DPermiso objDpermiso = new DPermiso();
        objDpermiso.DeletePermisosxRol(idRol);
    }
}
